-
Notifications
You must be signed in to change notification settings - Fork 15k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow CI testing on arm64 hardware #12080
Conversation
97daae8
to
73394d3
Compare
Currently our toolchain setting requires cross-compiling on a x64 host, you would need to change |
@zcbenz it compiled on arm64 (and successfully ran most of the tests) without changing |
@jkleinsc I didn't see you used arm64 build clang, that should be enough. |
73394d3
to
d31b576
Compare
Setting this to WIP until arm64 builds crashing issue ( #12057) is resolved. |
I'm going to push my arm64 fixes to this branch. |
d31b576
to
c215391
Compare
ARM64 CI is only failing for a flaky test:
This should be ready to be review/merged. |
fbd5734
to
bda423f
Compare
bda423f
to
51f8904
Compare
@jkleinsc Should we merge it? The same change has already been merged to |
This PR adds the capability of building/testing our arm64 build on arm64 hardware.
There are a couple changes needed to do this:
There isn't a prebuilt ninja binary available for arm64 so the docker image that is used includes a built from source ninja binary. Because the ninja binary isn't in the location it usually is, I added a parameter
ninja-path
to build.py to specify the location of the ninja binary.There isn't a prebuilt clang binary available for arm64, so I created a prebuilt binary for arm64 and updated script/update-clang.sh to pull the prebuilt binary from our s3 bucket.
There is a new CI machine, https://arm64-ci.electronjs.org that I have provisioned for running our CI on actual arm64 hardware (in this case a 96 core arm64 machine that has 2 Cavium ThunderX ARMv8 SoC's).